//
// Created by cxh19 on 2023/5/11.
//

#ifndef LEARN_VULKAN_TEXTURE_H
#define LEARN_VULKAN_TEXTURE_H

#include <vulkan/vulkan.h>

class CTexture {
public:
    bool load(VkPhysicalDeviceMemoryProperties physicalMemoType, VkPhysicalDeviceLimits physicalDevLimits, VkDevice device, VkCommandPool cmdPool, VkQueue queue, const char *fileName);
    void destroy(VkDevice device);
public:
    int width, height;
    int channels;
    VkImage textureImage;
    VkDeviceMemory textureImageMemory;

    VkImageView imageView;
    VkSampler imageSampler;
};


#endif //LEARN_VULKAN_TEXTURE_H
